package com.sunda.spmsorder.service;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.sunda.spmscommon.ResponseResult;
import com.sunda.spmsorder.entity.OrderWorkshop;
import com.sunda.spmsorder.entity.vo.OrderWorkshopQueryResultVo;
import com.sunda.spmsorder.entity.vo.OrderWorkshopQueryVo;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 车间请购单 服务类
 * </p>
 *
 * @author Wayne
 * @since 2021-02-02
 */
public interface IOrderWorkshopService extends IService<OrderWorkshop> {

    /** 根据用户工号查询车间请购单信息 */
    Map<String, Object> getOrderWS(String userId, String orderStatus, int pageNo, int pageSize, String applicationDateStart, String applicationDateEnd, String urgencyDegree, String spmsWsId,String authorId, String userName);
    IPage<OrderWorkshopQueryResultVo> getOrderWS1(OrderWorkshopQueryVo orderWorkshopQueryVo);

    /** 根据用户传入信息，创建车间请购单和车间请购单详情 */
    ResponseResult addOrderWorkshop(JSONObject jsonObject);

    /** 根据用户传入信息，更新车间请购单表头信息 */
    ResponseResult updateOrderWorkshop(JSONObject jsonObject);

    /** 获取指定工厂、车间、状态车间请购单信息 */
    Map<String, Object> getOrderWSList(String userId, String status, int pageNo, int pageSize);

    void updateOrderWorkshopStatus(String spmsWsId, String status);

    /** 根据车间请购单UUID查询对应工厂请购单SPMS日志信息 */
    List<Map<String, Object>> getOrderLogWByUuid(String uuid);

    /** 根据车间请购单UUID查询对应工厂请购单OA日志信息 */
    String getOrderLogOaByUuid(String uuid);

}
